package Gather.StreamExercise.MethodReference.MethodDome;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

/**
 * ClassName:MethodReference006
 * Package:Gather.StreamExercise.MethodReference
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/25-15:58
 * @Version:v1.0
 */
public class MethodReference006 {
    /*2.引用数组的构造方法
     * 格式：数据类型[]::方法
     * 范例：int[]::new
     * 细节：数组类型需要跟流中的数据类型保持一致*/
    public static void main(String[] args) {
        /*练习：
         * 集合中存储一些整数,收集到数组当中*/

        ArrayList<Integer> list = new ArrayList<>();
        Collections.addAll(list, 1, 2, 3, 4, 5, 6, 7, 8, 9);

//        Integer[] arr = list.stream().toArray(new IntFunction<Integer[]>() {
//            @Override
//            public Integer[] apply(int value) {
//                return new Integer[value];
//            }
//        });

        //引用数组的构造方法
        Integer[] arr = list.stream().toArray(Integer[]::new);
        System.out.println(Arrays.toString(arr));

    }
}
